//package com.jzqf.android.alive
//
//import android.annotation.SuppressLint
//import android.app.Notification
//import android.app.NotificationChannel
//import android.app.NotificationManager
//import android.app.Service
//import android.content.Context
//import android.content.Intent
//import android.content.IntentFilter
//import android.content.pm.ServiceInfo
//import android.os.Build
//import android.os.Handler
//import android.os.IBinder
//import android.os.Looper
//import android.util.Log
//import androidx.annotation.RequiresApi
//import androidx.core.app.NotificationCompat
//import com.jzqf.android.alive.test.KeepAliveManager
//import java.util.Timer
//import java.util.TimerTask
//
//
//class AliveService : Service() {
//    private val TAG = "保活 AliveService"
//    private val timer = Timer()
//
//    private val NOTIFICATION_ID = 1001
//    private val CHANNEL_ID = "HeartbeatChannel"
//    private val handler = Handler(Looper.getMainLooper())
//
//    private lateinit var screenReceiver: ScreenReceiver
//    override fun onCreate() {
//        super.onCreate()
//        Log.d(TAG, "onCreate")
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//            startAliveService()
//        }
//        // 注册屏幕解锁广播接收器
//        registerScreenReceiver()
//        doTimerTask()
//    }
//
//    override fun onBind(intent: Intent?): IBinder? {
//        Log.d(TAG, "onBind")
//        return null
//    }
//
//    override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
//        Log.d(TAG, "onStartCommand")
//        // 处理来自广播的意图
//        intent?.let {
//            when (it.action) {
//                Intent.ACTION_USER_PRESENT, Intent.ACTION_SCREEN_ON -> {
//                    Log.i("保活 AliveService", "收到屏幕相关广播，重启心跳")
//                    doTimerTask()
//                }
//            }
//        }
//        return START_STICKY
//    }
//
//    override fun onUnbind(intent: Intent?): Boolean {
//        Log.d(TAG, "onUnbind")
//        return super.onUnbind(intent)
//    }
//
//    override fun onDestroy() {
//        Log.d(TAG, "onDestroy")
//        super.onDestroy()
//        timer.cancel()
//        handler.removeCallbacks(heartbeatRunnable)
//        // 取消注册广播接收器
//        unregisterReceiver(screenReceiver)
//    }
//
//    private val heartbeatRunnable = object : Runnable {
//        override fun run() {
//            checkAppHealth()
//            handler.postDelayed(this, 1000L)
//        }
//    }
//
//    private fun registerScreenReceiver() {
//        screenReceiver = ScreenReceiver()
//        val filter = IntentFilter().apply {
//            addAction(Intent.ACTION_USER_PRESENT)  // 用户解锁
//            addAction(Intent.ACTION_SCREEN_OFF)     // 屏幕关闭
//            addAction(Intent.ACTION_SCREEN_ON)      // 屏幕打开
//            // 添加更多保护措施
//            priority = IntentFilter.SYSTEM_HIGH_PRIORITY
//        }
//
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
//            registerReceiver(screenReceiver, filter, null, handler, Context.RECEIVER_NOT_EXPORTED)
//        } else {
//            registerReceiver(screenReceiver, filter, null, handler)
//        }
//    }
//
//    //    private fun doTimerTask() {
////        handler.post(heartbeatRunnable)
////    }
//    private fun doTimerTask() {
//        timer.schedule(object : TimerTask() {
//            override fun run() {
//                checkAppHealth()
//            }
//        }, 0, 1000L)
//    }
//
//    private fun checkAppHealth() {
//        Log.d(TAG, "上传心跳")
//    }
//
//
//    private fun createNotification(): Notification {
//        return NotificationCompat.Builder(this, CHANNEL_ID).setContentTitle("App is running")
//            .setContentText("Tap to open app").setSmallIcon(R.drawable.ic_launcher_background)
//            .build()
//    }
//
//    @SuppressLint("ForegroundServiceType")
//    @RequiresApi(Build.VERSION_CODES.O)
//    private fun startAliveService() {
//
//        // Android 8.0+ 必须创建通知渠道
//        val channel = NotificationChannel(
//            CHANNEL_ID, "保活通知", NotificationManager.IMPORTANCE_LOW // 低优先级，避免打扰用户
//        )
//        val manager = getSystemService(NotificationManager::class.java)
//        manager.createNotificationChannel(channel)
//        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
//            startForeground(
//                NOTIFICATION_ID,
//                createNotification(),
//                ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC
//            )
//        } else {
//            // 启动前台服务（必须显示通知）
//            startForeground(NOTIFICATION_ID, createNotification())
//        }
//    }
//
//}